
#
# ql shared library makefile
#

CC              = gcc
INCLUDES	= -I.
DEFINES		= -DWIN32 -D_DEBUG
CFLAGS          = -g -O1 -Wall $(DEFINES) $(INCLUDES)
LPATH           = -L.
LIBS            = -lkernel32

TARGET		= libql.a

LFLAGS		= $(LPATH) $(LIBS)
ARCHIVER        = ar

MKDIR           = mkdir
OBJDIR          = obj


# targets
all: $(OBJDIR) $(TARGET)

clean:
	rm $(OBJDIR)/*.o $(TARGET)
	
# rules
$(OBJDIR):
	$(MKDIR) $(OBJDIR)

$(OBJDIR)/alloc.o: ../ql/alloc.c
	$(CC) $(CFLAGS) -c ../ql/alloc.c -o $(OBJDIR)/alloc.o
	
$(OBJDIR)/alloc_atom.o: ../ql/alloc_atom.c
	$(CC) $(CFLAGS) -c ../ql/alloc_atom.c -o $(OBJDIR)/alloc_atom.o

$(OBJDIR)/alloc_context.o: ../ql/alloc_context.c
	$(CC) $(CFLAGS) -c ../ql/alloc_context.c -o $(OBJDIR)/alloc_context.o
	
$(OBJDIR)/alloc_id.o: ../ql/alloc_id.c
	$(CC) $(CFLAGS) -c ../ql/alloc_id.c -o $(OBJDIR)/alloc_id.o

$(OBJDIR)/alloc_list.o: ../ql/alloc_list.c
	$(CC) $(CFLAGS) -c ../ql/alloc_list.c -o $(OBJDIR)/alloc_list.o

$(OBJDIR)/default_settings.o: ../ql/default_settings.c
	$(CC) $(CFLAGS) -c ../ql/default_settings.c -o $(OBJDIR)/default_settings.o
	
$(OBJDIR)/helpers.o: ../ql/helpers.c
	$(CC) $(CFLAGS) -c ../ql/helpers.c -o $(OBJDIR)/helpers.o
	
$(OBJDIR)/list_manip.o: ../ql/list_manip.c
	$(CC) $(CFLAGS) -c ../ql/list_manip.c -o $(OBJDIR)/list_manip.o
	
$(OBJDIR)/memstat.o: ../ql/memstat.c
	$(CC) $(CFLAGS) -c ../ql/memstat.c -o $(OBJDIR)/memstat.o
	
$(OBJDIR)/ql.o: ../ql/ql.c
	$(CC) $(CFLAGS) -c ../ql/ql.c -o $(OBJDIR)/ql.o
	
$(OBJDIR)/reader.o: ../ql/reader.c
	$(CC) $(CFLAGS) -c ../ql/reader.c -o $(OBJDIR)/reader.o
	
$(OBJDIR)/rules.o: ../ql/rules.c
	$(CC) $(CFLAGS) -c ../ql/rules.c -o $(OBJDIR)/rules.o
	
$(TARGET): $(OBJDIR)/alloc.o $(OBJDIR)/alloc_atom.o $(OBJDIR)/alloc_context.o $(OBJDIR)/alloc_id.o $(OBJDIR)/alloc_list.o $(OBJDIR)/default_settings.o $(OBJDIR)/helpers.o $(OBJDIR)/list_manip.o $(OBJDIR)/memstat.o $(OBJDIR)/ql.o $(OBJDIR)/reader.o $(OBJDIR)/rules.o
	$(ARCHIVER) cr $(TARGET) $(OBJDIR)/alloc.o $(OBJDIR)/alloc_atom.o $(OBJDIR)/alloc_context.o $(OBJDIR)/alloc_id.o $(OBJDIR)/alloc_list.o $(OBJDIR)/default_settings.o $(OBJDIR)/helpers.o $(OBJDIR)/list_manip.o $(OBJDIR)/memstat.o $(OBJDIR)/ql.o $(OBJDIR)/reader.o $(OBJDIR)/rules.o
	
